home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 401-425 / disk_420 / ttddd / ttddd.doc < prev    next >
Text File  |  1992-05-06  |  8KB  |  147 lines

  1.                             "Textual TDDD"
  2.  
  3.     Have you ever had a craving to do any of the following within Turbo
  4. Silver?
  5.  
  6. o Fractal geometry landscapes or other natural phenomena
  7. o Precise algorithmic control over every object in an animation, including
  8.   Newtonian physics and dynamic constraints
  9. o Bezier curves and patches
  10. o Bicubic splines and patches
  11. o Super quadric surfaces
  12. o 3-D TeX fonts
  13. o Precise control of the lighting properties of every "face" (triangle) that
  14.   makes up an object
  15. o Analyze all of the parameters of an existing object or cell
  16. o and much, much more!
  17.  
  18.     No?  I highly doubt that you have never had an urge to do any of the
  19. above, or you would not be interested in computer graphics in the first
  20. place!  Do the above sound too good to be true?
  21.  
  22.     Introducing:  Textual TDDD.  You all know what TDDD stands for:  3D
  23. Data Description.  TDDD files describe both cells and objects, and are
  24. based on the IFF file specification.  If you had the ability to read and
  25. write these files manually or under the control of another program, you
  26. could experiment with all of the graphics techniques listed above and then
  27. have Turbo Silver 3.0 or SV (or Imagine, hopefully soon) render the stills
  28. and animations for you!
  29.  
  30.     Textual TDDD is a file format that I have devised that contains all
  31. (almost all...  keep reading) of the information within the TDDD file, but
  32. is in a straight-ASCII text format.  These TTDDD files can be edited with
  33. any text editor or can be created by a program written in any language that
  34. can output ASCII text (C, ARexx, BASIC, etc.).  The flexibility that this
  35. allows is extraordinary!  The programs I have created to handle TTDDD files
  36. are called "ReadTDDD" and "WriteTDDD".  The former creates a TTDDD file
  37. from a TDDD file, and the latter does the reverse.  Both programs are
  38. simply filters; i.e.  they read one format and write the other.
  39.  
  40.     I have written two programs that create TTDDD files:  SQuad and TSTeX.
  41. SQuad creates super quadric surfaces and TSTeX reads a string of text and
  42. creates a 3-D string of characters in the TeX font that you select.  (If
  43. you aren't already using AmigaTeX by Tomas Rokicki of Radical Eye Software,
  44. I highly recommend the package!)
  45.  
  46.     TSTeX is easier to understand, so let's talk about it first.  Have you
  47. ever rendered a scene of a store or some other building that had text on
  48. it?  Or have you ever had any other object that has writing on it, but you
  49. didn't want to create every letter by hand (mainly because of the sloppy-
  50. looking results)?  TSTeX allows you to choose any font and any string of
  51. text, and create a 3-D object out of it for use in your renderings.  Does
  52. that make sense?  There's not a whole lot more I can say about it.
  53.  
  54.     What are super quadric surfaces?  They are basically parametric
  55. deformations of spheres along the north-south and east-west axes.  Here is
  56. the usage information:
  57.  
  58. Usage: SQuad E N [a4 Epts Npts a1 a2 a3]
  59.  
  60. The 'E' and 'N' parameters are mandatory, and specify the power to which
  61. you raise the sin() and cos() functions while creating the sphere.  Thus,
  62. if you set both to 1.0, you get a sphere.  Exciting, eh?  The fun begins
  63. when you change these parameters.  The 'E' parameter changes the exponent
  64. in the east-west horizontal plane cross-section of the sphere, and the 'N'
  65. changes the exponent in the north-south cross-section.  Making one of these
  66. parameters greater than 1.0 creates a hyperbolic "dent" in the sphere.
  67. Making the parameter less than 1.0, but greater than zero, make the sphere
  68. more of a square in that axis.  Here is what the program tells you if you
  69. give it no parameters:
  70.  
  71. E    - east/west deformation exponential (positive)
  72.        < 1.0 makes square corners
  73.        = 1.0 makes smooth circles
  74.        > 1.0 makes hyperbolic slopes
  75. N    - north/south deformation exponential (positive)
  76.        same effect as E, but in north/south direction
  77. a4   - 'expansion' radius factor - >1.0 for toroidal super quadrics
  78. Epts - number of east/west points
  79. Npts - number of north/south points
  80. a1   - scale factor for X axis
  81. a2   - scale factor for Y axis
  82. a3   - scale factor for Z axis\n
  83.  
  84.     So to create a die (as in a pair of dice) without the "dots", you would
  85. type "SQuad 0.01 0.01".  But you are now saying, "Why not just create a
  86. cube in the TS Object Editor"?  First of all, super quadrics are wonderful
  87. little things that have a great deal of detail where it is needed.  So on
  88. those corners, if you look very closely, they are slightly rounded, and
  89. contain a great number of faces, so when rendered, the specular highlights
  90. bounce off the corners quite nicely.  The second reason, and actually the
  91. main reason why I did this whole project to begin with was because I was
  92. frustrated out of my wits using Turbo Silver's Object Editor, and I was
  93. used to creating images algorithmically from the computer graphics course I
  94. took at Caltech.  Boy, was that a lot of fun!  But let's try a few more
  95. examples before I end:
  96.  
  97. squad 1.0 1.0 2.0               % Creates a torus (or doughnut)
  98. squad 0.01 0.01 2.0             % Creates a square-edged chain link
  99. squad 2.0 0.01 2.0              % Creates, well, you would have to see it.
  100.  
  101. And, of course, we have not even started to mess around with the scale
  102. factors.  But I think you get a little taste of what I mean.
  103.  
  104.     Now, I would like to explain the situation with these programs, and a
  105. little bit of the history.  As I already mentioned, I was fed up with using
  106. the Turbo Silver Object Editor for any serious work, and also wanted to
  107. create objects algorithmically.  I called Impulse, spoke to Mike Halvorsen,
  108. and found out that they had no intentions for adding such a thing to Turbo
  109. Silver or to Imagine, for that matter.  So I went to work writing these
  110. tools.  I got the public domain information about TDDD files from a local
  111. BBS.  I finished these tools based on the information contained in those
  112. documents.  I generated some objects, and they looked awesome!  But every
  113. now and then, and object I created would crash Turbo Silver's Object
  114. Editor!
  115.  
  116.     So I wrote Impulse, and heard no response.  I called Impulse, and once
  117. more spoke to Mike Halvorsen.  He cut me off quickly after starting to
  118. explain the difficulties, and said "That TDDD information in the public
  119. domain is out of date.  Send me a disk and I'll put the latest information
  120. on it.  Click." I did, and he did, and when I got the disk back, it had the
  121. exact same information on it.  So here I am, with these awesome programs
  122. that I would love to market (since it was a large time investment on my
  123. part) that sometimes crash TS's Object Editor because of incomplete
  124. information about the internals of the program.  And I have received no
  125. help from Impulse.  So here I am, writing an article about them, and seeing
  126. if anybody in the Turbo SIG is interested in using these programs.  If so,
  127. I would be willing to distribute them to Turbo SIG members and hoping that
  128. maybe one or two of you could help me discover what that problem is.  I
  129. have already let another person use it to display data he was collecting
  130. for his Master's Thesis.  He loves it!
  131.  
  132.     I am hereby releasing ReadTDDD and WriteTDDD as ShareWare.  If you use
  133. the programs, please send $10.00 (ten dollars) to my address below.  As a
  134. Thank-You, I will send you a disk with SQuad and TSTeX on them, registered
  135. with a serial number personally to you.  These programs will NOT be
  136. redistributable.  You are allowed to freely distribute ReadTDDD and
  137. WriteTDDD, though, as long as this archive remains intact without any
  138. modifications.
  139.  
  140. Glenn M. Lewis
  141. 8341 Olive Hill Court
  142. Fair Oaks, CA  95628
  143.  
  144. (I can also be reached at "glewis@pcocd2.intel.com" for those of you with
  145.  access to the ARPAnet)
  146.  
  147.